Kanvaasiohjain canvas luo piirtoalueen, johon voi sijoitella eri kuvioita (mm. suorakulmioita, ympyröitä, ellipsejä, viivoja, kaaria ja monikulmioita), tekstiä, kuvia tai muita ohja imia. Kanvaasiin sijoitetaan kuvioita create-komennon avulla ja niitä tuhotaan delete-komennon avulla.
Esimerkiksi komento
.c create rectangle 1c 2c 4c 4c -tags rect
luo kanvaasin sisälle suorakaiteen. Suorakaide nimetään -tags-optiolla, jotta siihen pystytään viittamaan myöhemmin. Komennolla
.c move rect 0 1c
siirretään suorakaidetta kanvaasin sisällä ja komennolla
.c delete rect
tuhotaan tehty suorakaide
canvas
-ohjaimen yleisimmin käytetyt optiot ovat
-scrollregion |
määrittelee piirrettävän alueen koordinaatit (left, top, right ja bottom). |
-confine |
määrittelee, laitetaanko reunaan liukutanko, kun piirtokoordinaatit menevät piirretyn alueen ulkopuolelle. |
-tags |
nimeää kanvaasin sisälle asetetun kuvion. |
-fill |
täyttää kanvaasin sisälle asetetun kuvion määritellyllä värillä. |
-outline |
määrittelee kuvion reunuksen värin. |
-height |
määrittelee kanvaasin korkeuden ja |
-width |
määrittelee kanvaasin leveyden. |
Esimerkissä on koottu samaan kanvaasiin tekstiä, suorakulmio sekä soikio (kuva 5.16)
canvas .c -width 5c -height 5c
.c create rectangle 1c 2c 4c 4c -width 2m -outline blue -fill yellow -tags suorakaide
.c create oval 2c 0.25c 1.5c 1.5c -fill black -tags ellipsi
.c create text 4c 0.5c -text "Tekstiä" -tags teksti
Kuva 5.16. Esimerkki kanvaasin käytöstä.
Kanvaasi ei ole pelkästään ohjain, vaan se toimii samalla ohjainten asettelijana (engl. geometry manager). Kanvaasia käytetään erilaisten kuvioiden sijoittelemiseen ruudulle kun ohjaimet kannatta a yleensä sijoitella ruudulle pack-komennon avulla.
Luk-tutkielma: Tcl/Tk -opiksi ja iloksi.